#pragma once

#include <sstream>
#include <string>

#include "logger.h"

namespace wlogger {

class LogCapture {
 public:
  LogCapture(const Logger::Level level, const std::string& file, const uint32_t line, 
      const std::string& function, const std::wstring& check_expression = L"");
  ~LogCapture();

 public:
  std::wostringstream& stream();

 private:
  std::wostringstream sstream_;

  Logger::Level level_;
  std::wstring file_;
  std::wstring line_;
  std::wstring function_;
  std::wstring check_expression_;
};

}  // namespace logger
